gsk: Fix a thinko
authorMatthias Clasen <mclasen@redhat.com>
Thu, 28 Jan 2021 23:16:16 +0000 (18:16 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Thu, 28 Jan 2021 23:16:16 +0000 (18:16 -0500)
With subpixel positioning, we need to offset the
cached glyphs by their phase.

gsk/gl/gskglglyphcache.c

index b147dcef216593e4ea98bc99fac9dc9bb3770962..9cff7d7ca1cf20a8b9b1bdf3bdc674eac4188a8a 100644 (file)
@@ -149,10 +149,10 @@ render_glyph (GlyphCacheKey    *key,
   glyph_info.glyph = key->data.glyph;
   glyph_info.geometry.width = value->draw_width * 1024;
   if (glyph_info.glyph & PANGO_GLYPH_UNKNOWN_FLAG)
-    glyph_info.geometry.x_offset = 0;
+    glyph_info.geometry.x_offset = 250 * key->data.xshift;
   else
-    glyph_info.geometry.x_offset = - value->draw_x * 1024;
-  glyph_info.geometry.y_offset = - value->draw_y * 1024;
+    glyph_info.geometry.x_offset = 250 * key->data.xshift - value->draw_x * 1024;
+  glyph_info.geometry.y_offset = 250 * key->data.yshift - value->draw_y * 1024;
 
   glyph_string.num_glyphs = 1;
   glyph_string.glyphs = &glyph_info;